<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>

<title>InstantiatedType (randoop 4.1.0 API)</title>

<link rel="stylesheet" type="text/css" href="../../javadocstyle.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="InstantiatedType (randoop 4.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/GenericClassType.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/IntersectionTypeBound.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/InstantiatedType.html" target="_top">Frames</a></li>
<li><a href="InstantiatedType.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">randoop.types</div>
<h2 title="Class InstantiatedType" class="title">Class InstantiatedType</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/Type.html" title="class in randoop.types">randoop.types.Type</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">randoop.types.ReferenceType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">randoop.types.ClassOrInterfaceType</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">randoop.types.ParameterizedType</a></li>
<li>
<ul class="inheritance">
<li>randoop.types.InstantiatedType</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">InstantiatedType</span>
extends <a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></pre>
<div class="block">Represents a parameterized type as a generic class instantiated with type arguments.

 <p>Note that <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/ParameterizedType.html?is-external=true" title="class or interface in java.lang.reflect"><code>ParameterizedType</code></a> is an interface that can represent
 either a parameterized type in the sense meant here, or a generic class. Conversion to this type
 from this and other <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect"><code>Type</code></a> interfaces is handled by <a href="../../randoop/types/Type.html#forType-java.lang.reflect.Type-"><code>Type.forType(java.lang.reflect.Type)</code></a>.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#argumentList">argumentList</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#instantiatedType">instantiatedType</a></span></code>
<div class="block">The generic class for this type</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#InstantiatedType-randoop.types.GenericClassType-java.util.List-">InstantiatedType</a></span>(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;instantiatedType,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;&nbsp;argumentList)</code>
<div class="block">Create a parameterized type from the generic class type.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#apply-randoop.types.Substitution-">apply</a></span>(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</code>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#applyCaptureConversion--">applyCaptureConversion</a></span>()</code>
<div class="block">Constructs a capture conversion for this type.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code></td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getGenericClassType--">getGenericClassType</a></span>()</code>
<div class="block">Returns the <a href="../../randoop/types/GenericClassType.html" title="class in randoop.types"><code>GenericClassType</code></a> for this parameterized type.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">getInstantiatingSubstitution</a></span>(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;goalType)</code>
<div class="block">Computes a substitution that can be applied to the type variables of the generic goal type to
 instantiate operations of this type, possibly inherited from from the goal type.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getInterfaces--">getInterfaces</a></span>()</code>
<div class="block">Constructs the list of interfaces for this parameterized type.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getMatchingSupertype-randoop.types.GenericClassType-">getMatchingSupertype</a></span>(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;goalType)</code>
<div class="block">Finds the parameterized type that is a supertype of this class that also matches the given
 generic class.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types">NonParameterizedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getRawtype--">getRawtype</a></span>()</code>
<div class="block">Returns the non-parameterized form of this class type.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>(package private) <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getReferenceArguments--">getReferenceArguments</a></span>()</code>
<div class="block">Returns the list of reference type arguments of this type if there are no wildcards.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getRuntimeClass--">getRuntimeClass</a></span>()</code>
<div class="block">Returns the runtime <code>Class</code> object for this type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getSuperclass--">getSuperclass</a></span>()</code>
<div class="block">Constructs the superclass type for this parameterized type.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getTypeArguments--">getTypeArguments</a></span>()</code>
<div class="block">Returns the type arguments for this type.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getTypeParameters--">getTypeParameters</a></span>()</code>
<div class="block">Returns the list of type parameters for this type.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#getTypeSubstitution--">getTypeSubstitution</a></span>()</code>
<div class="block">Creates the type substitution of the type arguments of this type for the type variables of the
 instantiated class, if the type arguments are reference types.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#hasWildcard--">hasWildcard</a></span>()</code>
<div class="block">Indicate whether this type has a wildcard either as or in a type argument.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isAbstract--">isAbstract</a></span>()</code>
<div class="block">Indicate whether this class is abstract.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isAssignableFrom-randoop.types.Type-">isAssignableFrom</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</code>
<div class="block">Indicates whether there is an assignment conversion from a source <code>Type</code> to this type.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isGeneric--">isGeneric</a></span>()</code>
<div class="block">Indicate whether this type is generic.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isInstantiationOf-randoop.types.ReferenceType-">isInstantiationOf</a></span>(<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&nbsp;otherType)</code>
<div class="block">Checks whether this type is an instantiation of the given instantiated type.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isInterface--">isInterface</a></span>()</code>
<div class="block">Indicates whether this object is an interface type</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isParameterized--">isParameterized</a></span>()</code>
<div class="block">Indicate whether this type is a parameterized type.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isRecursiveType--">isRecursiveType</a></span>()</code>
<div class="block">Determines if this type is recursive in the sense that the type is the bound of its type
 argument.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isStatic--">isStatic</a></span>()</code>
<div class="block">Indicates whether this class is static.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</code>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10.2">section 4.10.2
 of JLS for JavaSE 8</a>.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/InstantiatedType.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ParameterizedType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></h3>
<code><a href="../../randoop/types/ParameterizedType.html#forClass-java.lang.Class-">forClass</a>, <a href="../../randoop/types/ParameterizedType.html#forType-java.lang.reflect.Type-">forType</a>, <a href="../../randoop/types/ParameterizedType.html#getName--">getName</a>, <a href="../../randoop/types/ParameterizedType.html#getUnqualifiedName--">getUnqualifiedName</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ClassOrInterfaceType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></h3>
<code><a href="../../randoop/types/ClassOrInterfaceType.html#apply-randoop.types.Substitution-randoop.types.ClassOrInterfaceType-">apply</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#applyCaptureConversion-randoop.types.ClassOrInterfaceType-">applyCaptureConversion</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#getCanonicalName--">getCanonicalName</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#getImmediateSupertypes--">getImmediateSupertypes</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#getPackage--">getPackage</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#getSimpleName--">getSimpleName</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#getSuperTypes--">getSuperTypes</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#isClassOrInterfaceType--">isClassOrInterfaceType</a>, <a href="../../randoop/types/ClassOrInterfaceType.html#isMemberClass--">isMemberClass</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ReferenceType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></h3>
<code><a href="../../randoop/types/ReferenceType.html#getInstantiatingSubstitution-randoop.types.ReferenceType-">getInstantiatingSubstitution</a>, <a href="../../randoop/types/ReferenceType.html#isCaptureVariable--">isCaptureVariable</a>, <a href="../../randoop/types/ReferenceType.html#isReferenceType--">isReferenceType</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.Type">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></h3>
<code><a href="../../randoop/types/Type.html#compareTo-randoop.types.Type-">compareTo</a>, <a href="../../randoop/types/Type.html#forName-java.lang.String-">forName</a>, <a href="../../randoop/types/Type.html#forValue-java.lang.Object-">forValue</a>, <a href="../../randoop/types/Type.html#isArray--">isArray</a>, <a href="../../randoop/types/Type.html#isAssignableFromTypeOf-T-">isAssignableFromTypeOf</a>, <a href="../../randoop/types/Type.html#isBoxedPrimitive--">isBoxedPrimitive</a>, <a href="../../randoop/types/Type.html#isClass--">isClass</a>, <a href="../../randoop/types/Type.html#isEnum--">isEnum</a>, <a href="../../randoop/types/Type.html#isNonreceiverType--">isNonreceiverType</a>, <a href="../../randoop/types/Type.html#isObject--">isObject</a>, <a href="../../randoop/types/Type.html#isPrimitive--">isPrimitive</a>, <a href="../../randoop/types/Type.html#isRawtype--">isRawtype</a>, <a href="../../randoop/types/Type.html#isString--">isString</a>, <a href="../../randoop/types/Type.html#isVariable--">isVariable</a>, <a href="../../randoop/types/Type.html#isVoid--">isVoid</a>, <a href="../../randoop/types/Type.html#runtimeClassIs-java.lang.Class-">runtimeClassIs</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="argumentList">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>argumentList</h4>
<pre>private final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt; argumentList</pre>
</li>
</ul>
<a name="instantiatedType">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>instantiatedType</h4>
<pre>private final&nbsp;<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a> instantiatedType</pre>
<div class="block">The generic class for this type</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="InstantiatedType-randoop.types.GenericClassType-java.util.List-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>InstantiatedType</h4>
<pre>InstantiatedType(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;instantiatedType,
                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;&nbsp;argumentList)</pre>
<div class="block">Create a parameterized type from the generic class type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>instantiatedType</code> - the generic class type</dd>
<dd><code>argumentList</code> - the list of argument types</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if either argument is null</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="equals-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
<div class="block">

 <p>Test if the given object is equal to this parameterized type. Two parameterized types are
 equal if they have the same raw type and the same type arguments.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#hashCode--">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ParameterizedType.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></code></dd>
</dl>
</li>
</ul>
<a name="apply-randoop.types.Substitution-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public&nbsp;<a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a>&nbsp;apply(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#apply-randoop.types.Substitution-">ClassOrInterfaceType</a></code></span></div>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>. If the type is parameterized then replaces
 type variables that occur, otherwise returns this type.

 <p>This abstract method forces typing of substitutions applied to <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a> objects
 without an explicit cast.

 <p>This abstract method allows substitutions to be applied to <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types"><code>ClassOrInterfaceType</code></a>
 objects without casting.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ParameterizedType.html#apply-randoop.types.Substitution-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>substitution</code> - the type substitution</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type created by applying the substitution to this type</dd>
</dl>
</li>
</ul>
<a name="applyCaptureConversion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCaptureConversion</h4>
<pre>public&nbsp;<a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a>&nbsp;applyCaptureConversion()</pre>
<div class="block">Constructs a capture conversion for this type. If this type has wildcard type arguments, then
 introduces <a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><code>CaptureTypeVariable</code></a> for each wildcard as described in the JLS, section
 5.1.10, <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.10">Capture
 Conversion</a>.

 <p>Based on algorithm in Mads Torgerson <i>et al.</i> "<a
 href="http://www.jot.fm/issues/issue_2004_12/article5.pdf">Adding Wildcards to the Java
 Programming Language</a>", Journal of Object Technology, 3 (December 2004) 11, 97-116. Special
 Issue: OOPS track at SAC 2004.

 <p>If this type has no wildcards, then returns this type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#applyCaptureConversion--">applyCaptureConversion</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the capture conversion type for this type</dd>
</dl>
</li>
</ul>
<a name="getInterfaces--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterfaces</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;&nbsp;getInterfaces()</pre>
<div class="block">Constructs the list of interfaces for this parameterized type.

 <p>See the implementation note for <a href="../../randoop/types/InstantiatedType.html#getSuperclass--"><code>getSuperclass()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getInterfaces--">getInterfaces</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>list of directly-implemented interfaces for this parameterized type</dd>
</dl>
</li>
</ul>
<a name="getGenericClassType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGenericClassType</h4>
<pre>public&nbsp;<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;getGenericClassType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ParameterizedType.html#getGenericClassType--">ParameterizedType</a></code></span></div>
<div class="block">Returns the <a href="../../randoop/types/GenericClassType.html" title="class in randoop.types"><code>GenericClassType</code></a> for this parameterized type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ParameterizedType.html#getGenericClassType--">getGenericClassType</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the generic class type for this type</dd>
</dl>
</li>
</ul>
<a name="getMatchingSupertype-randoop.types.GenericClassType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatchingSupertype</h4>
<pre>public&nbsp;<a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a>&nbsp;getMatchingSupertype(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;goalType)</pre>
<div class="block">Finds the parameterized type that is a supertype of this class that also matches the given
 generic class. For example, if <code>class C&lt;T&gt; implements Comparator&lt;T&gt;</code> and <code>class A
 extends C&lt;String&gt;</code>, then when applied to <code>A</code>, this method would return <code>C&lt;String&gt;</code>
 when given <code>C&lt;T&gt;</code>, and <code>Comparator&lt;String&gt;</code> when given <code>Comparator&lt;E&gt;</code>.
 Returns null if there is no such type.

 <p>Performs a depth-first search of the supertype relation for this type. If the goal type is
 an interface, then searches the interfaces of this type first.

 <p>An instantiated type may have a wildcard, and so must perform capture conversion before
 doing supertype search.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getMatchingSupertype-randoop.types.GenericClassType-">getMatchingSupertype</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goalType</code> - the generic class type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the instantiated type matching the goal type, or null</dd>
</dl>
</li>
</ul>
<a name="getReferenceArguments--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReferenceArguments</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;getReferenceArguments()</pre>
<div class="block">Returns the list of reference type arguments of this type if there are no wildcards.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of reference types that are arguments to this type</dd>
</dl>
</li>
</ul>
<a name="getRuntimeClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRuntimeClass</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getRuntimeClass()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getRuntimeClass--">Type</a></code></span></div>
<div class="block">Returns the runtime <code>Class</code> object for this type. For use when reflection is needed.

 <p>Note that type variables and the null reference type do not have a runtime class, and this
 method will return null in those cases.

 <p>This method should not be confused with the inherited <code>Object.getClass()</code> method,
 which returns the <code>Class&lt;?&gt;</code> for the <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object, and not of the represented
 type. For instance, if a <a href="../../randoop/types/Type.html" title="class in randoop.types"><code>Type</code></a> object <code>t</code> represented the Java type <code>int</code>,
 then <code>t.getRuntimeClass()</code> would return <code>int.class</code> while <code>t.getClass()</code>
 would return <code>Type.class</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getRuntimeClass--">getRuntimeClass</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang"><code>Class</code></a> that is the runtime representation of the type, or null if this type
     is a type variable or null reference type</dd>
</dl>
</li>
</ul>
<a name="getSuperclass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSuperclass</h4>
<pre>public&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;getSuperclass()</pre>
<div class="block">Constructs the superclass type for this parameterized type.

 <p>Implementation note: we can think of an <a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types"><code>InstantiatedType</code></a> <code>A&lt;T1,...,Tk&gt;</code> as
 being represented as a generic class <code>A&lt;F1,...,Fk&gt;</code> with a substitution <code>[ Fi :=
 Ti]</code> for all of the type parameters <code>Fi</code>. So, when we compute a superclass, we first find
 the supertype of the generic class <code>B&lt;F1,...,Fk&gt;</code>, and then apply the substitution <code>[ Fi := Ti]</code> using the method <a href="../../randoop/types/GenericClassType.html#getSuperclass-randoop.types.Substitution-"><code>GenericClassType.getSuperclass(Substitution)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getSuperclass--">getSuperclass</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the superclass type for this parameterized type</dd>
</dl>
</li>
</ul>
<a name="getTypeArguments--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeArguments</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;&nbsp;getTypeArguments()</pre>
<div class="block">Returns the type arguments for this type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getTypeArguments--">getTypeArguments</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of type arguments</dd>
</dl>
</li>
</ul>
<a name="getTypeParameters--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeParameters</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&gt;&nbsp;getTypeParameters()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ReferenceType.html#getTypeParameters--">ReferenceType</a></code></span></div>
<div class="block">Returns the list of type parameters for this type. Reference types that may have type
 parameters include <a href="../../randoop/types/ArrayType.html" title="class in randoop.types"><code>ArrayType</code></a> (such as <code>E[]</code>), and subclasses of <a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types"><code>ParameterizedType</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getTypeParameters--">getTypeParameters</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type parameters for this type</dd>
</dl>
</li>
</ul>
<a name="getTypeSubstitution--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeSubstitution</h4>
<pre>public&nbsp;<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;getTypeSubstitution()</pre>
<div class="block">Creates the type substitution of the type arguments of this type for the type variables of the
 instantiated class, if the type arguments are reference types. If any type argument is a
 wildcard, then null is returned.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type substitution of the type arguments of this class for the type variables of the
     instantiated type</dd>
</dl>
</li>
</ul>
<a name="hasWildcard--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasWildcard</h4>
<pre>public&nbsp;boolean&nbsp;hasWildcard()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#hasWildcard--">ClassOrInterfaceType</a></code></span></div>
<div class="block">Indicate whether this type has a wildcard either as or in a type argument.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#hasWildcard--">hasWildcard</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type has a wildcard, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isAbstract--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAbstract</h4>
<pre>public&nbsp;boolean&nbsp;isAbstract()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#isAbstract--">ClassOrInterfaceType</a></code></span></div>
<div class="block">Indicate whether this class is abstract.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isAbstract--">isAbstract</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is abstract, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isAssignableFrom-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAssignableFrom</h4>
<pre>public&nbsp;boolean&nbsp;isAssignableFrom(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ReferenceType.html#isAssignableFrom-randoop.types.Type-">ReferenceType</a></code></span></div>
<div class="block">Indicates whether there is an assignment conversion from a source <code>Type</code> to this type.
 (In other words, a value of the source type can be assigned to an l-value of this type.)
 Returns true if this is a legal assignment conversion: <code>
 Variable<sub>this</sub> = Expression<sub>sourcetype</sub>.
 </code>

 <p>Based on the definition of <i>assignment context</i> in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.2">section 5.2 of the
 JDK 8 Java Language Specification</a>, a value of one type is assignable to a variable of
 another type if the first type can be converted to the second by

 <ul>
   <li>an identity conversion (section 5.1.1),
   <li>a widening primitive conversion (section 5.1.2),
   <li>a widening reference conversion (section 5.1.5),
   <li>a boxing conversion (5.1.7), or
   <li>an unboxing conversion (section 5.1.8) possibly followed by a widening conversion.
 </ul>

 And, if after all those conversions, the type is a raw type, an unchecked conversion may occur.

 <p>For assignment to <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>, checks for widening reference conversion when the
 source type is also a reference type. See <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.5">section JLS
 5.1.5</a> for details.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#isAssignableFrom-randoop.types.Type-">isAssignableFrom</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the type to test for assignability</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type can be assigned from the source type, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="isGeneric--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isGeneric</h4>
<pre>public&nbsp;boolean&nbsp;isGeneric()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isGeneric--">Type</a></code></span></div>
<div class="block">Indicate whether this type is generic. A type is <i>generic</i> if it has one or more type
 variables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isGeneric--">isGeneric</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is generic, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isInstantiationOf-randoop.types.ReferenceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInstantiationOf</h4>
<pre>public&nbsp;boolean&nbsp;isInstantiationOf(<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&nbsp;otherType)</pre>
<div class="block">Checks whether this type is an instantiation of the given instantiated type. This is only
 possible if this type is <code>A&lt;T1,...,Tk&gt;</code> where all <code>Ti</code> are instantiated by ground
 types (e.g., does not have type variables), the other type is <code>A&lt;S1,...,Sk&gt;</code>, and each
 <code>Ti</code> matches <code>Si</code> for <code>i = 1,...,k</code> as follows:

 <ol>
   <li>If <code>Si</code> is the variable <code>X</code> with lower bound <code>L</code> and upper bound <code>U</code>, then <code>Ti</code> is a supertype of <code>L</code> and a subtype of <code>U</code>
   <li><code>Si</code> is identical to <code>Ti</code>
 </ol></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isInstantiationOf-randoop.types.ReferenceType-">isInstantiationOf</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the other <a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types"><code>InstantiatedType</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is an instantiation of the other type, false otherwise</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../randoop/types/ReferenceType.html#isInstantiationOf-randoop.types.ReferenceType-"><code>ReferenceType.isInstantiationOf(ReferenceType)</code></a></dd>
</dl>
</li>
</ul>
<a name="getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstantiatingSubstitution</h4>
<pre>public&nbsp;<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;getInstantiatingSubstitution(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;goalType)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">ClassOrInterfaceType</a></code></span></div>
<div class="block">Computes a substitution that can be applied to the type variables of the generic goal type to
 instantiate operations of this type, possibly inherited from from the goal type. The
 substitution will unify this type or a supertype of this type with the given goal type.

 <p>If there is no unifying substitution, returns <code>null</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">getInstantiatingSubstitution</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goalType</code> - the generic type for which a substitution is needed</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a substitution unifying this type or a supertype of this type with the goal type</dd>
</dl>
</li>
</ul>
<a name="isInterface--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInterface</h4>
<pre>public&nbsp;boolean&nbsp;isInterface()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isInterface--">Type</a></code></span></div>
<div class="block">Indicates whether this object is an interface type</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#isInterface--">isInterface</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this object is an interface type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isParameterized--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isParameterized</h4>
<pre>public&nbsp;boolean&nbsp;isParameterized()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isParameterized--">Type</a></code></span></div>
<div class="block">Indicate whether this type is a parameterized type. (A <i>parameterized type</i> is a type
 <code>C&lt;T1,...,Tk&gt;</code> that instantiates a generic class <code>C&lt;F1,...,Fk&gt;</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isParameterized--">isParameterized</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a parameterized type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isRecursiveType--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRecursiveType</h4>
<pre>public&nbsp;boolean&nbsp;isRecursiveType()</pre>
<div class="block">Determines if this type is recursive in the sense that the type is the bound of its type
 argument. So, should have a single type argument that is a subtype of this type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the type argument is a subtype of this type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isStatic--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isStatic</h4>
<pre>public&nbsp;boolean&nbsp;isStatic()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#isStatic--">ClassOrInterfaceType</a></code></span></div>
<div class="block">Indicates whether this class is static.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isStatic--">isStatic</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is static, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isSubtypeOf-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSubtypeOf</h4>
<pre>public&nbsp;boolean&nbsp;isSubtypeOf(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</pre>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10.2">section 4.10.2
 of JLS for JavaSE 8</a>.

 <p>Handles specific cases of supertypes of a parameterized type <code>C&lt;T1,...,Tn&gt;</code>
 instantiating the generic type <code>C&lt;F1,...,Fn&gt;</code> by substitution &theta;<code>=[F1:=T1,...,Fn:=Tn]</code> for which direct supertypes are:

 <ol>
   <li><code>D&lt;U1</code>&theta;<code>,...,Uk</code>&theta;<code>&gt;</code> where <code>D&lt;U1,...,Uk&gt;</code> is a
       supertype of <code>C&lt;F1,...,Fn&gt;</code>.
   <li><code>C&lt;S1,...,Sn&gt;</code> where Si <i>contains</i> Ti (JLS section 4.5.1).
   <li>The rawtype <code>C</code>.
   <li><code>Object</code> if generic form is interface with no interfaces as supertypes.
 </ol></div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the possible supertype</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a subtype of the given type, false otherwise</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../randoop/types/ReferenceType.html#isAssignableFrom-randoop.types.Type-"><code>ReferenceType.isAssignableFrom(Type)</code></a>, 
<a href="../../randoop/types/ClassOrInterfaceType.html#isSubtypeOf-randoop.types.Type-"><code>ClassOrInterfaceType.isSubtypeOf(Type)</code></a></dd>
</dl>
</li>
</ul>
<a name="getRawtype--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRawtype</h4>
<pre>public&nbsp;<a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types">NonParameterizedType</a>&nbsp;getRawtype()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html#getRawtype--">ClassOrInterfaceType</a></code></span></div>
<div class="block">Returns the non-parameterized form of this class type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ClassOrInterfaceType.html#getRawtype--">getRawtype</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the non-parameterized form of this class type</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/GenericClassType.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/IntersectionTypeBound.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/InstantiatedType.html" target="_top">Frames</a></li>
<li><a href="InstantiatedType.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
